package com.hospital.model;

/**
 * 病房状态视图实体类
 * 用于展示病房状态信息，包含科室、病房和床位的统计信息
 */
public class WardStatusView {
    /**
     * 科室ID
     */
    private int deptId;
    
    /**
     * 科室名称
     */
    private String deptName;
    
    /**
     * 楼层号
     */
    private int floorNum;
    
    /**
     * 病房ID
     */
    private int wardId;
    
    /**
     * 病房号
     */
    private String wardNum;
    
    /**
     * 床位总数
     */
    private int bedCount;
    
    /**
     * 可用床位数
     */
    private int availableBeds;
    
    /**
     * 默认构造函数
     */
    public WardStatusView() {
    }
    
    /**
     * 带参数的构造函数
     * @param deptId 科室ID
     * @param deptName 科室名称
     * @param floorNum 楼层号
     * @param wardId 病房ID
     * @param wardNum 病房号
     * @param bedCount 床位总数
     * @param availableBeds 可用床位数
     */
    public WardStatusView(int deptId, String deptName, int floorNum, int wardId, 
                         String wardNum, int bedCount, int availableBeds) {
        this.deptId = deptId;
        this.deptName = deptName;
        this.floorNum = floorNum;
        this.wardId = wardId;
        this.wardNum = wardNum;
        this.bedCount = bedCount;
        this.availableBeds = availableBeds;
    }
    
    /**
     * 获取科室ID
     * @return 科室ID
     */
    public int getDeptId() {
        return deptId;
    }
    
    /**
     * 设置科室ID
     * @param deptId 科室ID
     */
    public void setDeptId(int deptId) {
        this.deptId = deptId;
    }
    
    /**
     * 获取科室名称
     * @return 科室名称
     */
    public String getDeptName() {
        return deptName;
    }
    
    /**
     * 设置科室名称
     * @param deptName 科室名称
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    
    /**
     * 获取楼层号
     * @return 楼层号
     */
    public int getFloorNum() {
        return floorNum;
    }
    
    /**
     * 设置楼层号
     * @param floorNum 楼层号
     */
    public void setFloorNum(int floorNum) {
        this.floorNum = floorNum;
    }
    
    /**
     * 获取病房ID
     * @return 病房ID
     */
    public int getWardId() {
        return wardId;
    }
    
    /**
     * 设置病房ID
     * @param wardId 病房ID
     */
    public void setWardId(int wardId) {
        this.wardId = wardId;
    }
    
    /**
     * 获取病房号
     * @return 病房号
     */
    public String getWardNum() {
        return wardNum;
    }
    
    /**
     * 设置病房号
     * @param wardNum 病房号
     */
    public void setWardNum(String wardNum) {
        this.wardNum = wardNum;
    }
    
    /**
     * 获取床位总数
     * @return 床位总数
     */
    public int getBedCount() {
        return bedCount;
    }
    
    /**
     * 设置床位总数
     * @param bedCount 床位总数
     */
    public void setBedCount(int bedCount) {
        this.bedCount = bedCount;
    }
    
    /**
     * 获取可用床位数
     * @return 可用床位数
     */
    public int getAvailableBeds() {
        return availableBeds;
    }
    
    /**
     * 设置可用床位数
     * @param availableBeds 可用床位数
     */
    public void setAvailableBeds(int availableBeds) {
        this.availableBeds = availableBeds;
    }
    
    /**
     * 返回病房状态视图对象的字符串表示
     * @return 包含病房状态所有属性的字符串
     */
    @Override
    public String toString() {
        return "WardStatusView{" +
                "deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                ", floorNum=" + floorNum +
                ", wardId=" + wardId +
                ", wardNum='" + wardNum + '\'' +
                ", bedCount=" + bedCount +
                ", availableBeds=" + availableBeds +
                '}';
    }
} 